package com.originskyseed.platform.count.service;

import java.util.List;
import java.util.Map;

import com.originskyseed.platform.core.base.BasePage;
import com.originskyseed.platform.count.vo.CountAnchorAndSalesRankListVO;

/**
 * Service接口类（COUNTANCHORANDSALESRANKLIST）
 *
 * @author wlj
 */
public interface ICountAnchorAndSalesRankListService {

	/**
	 * 推广平台优质用户榜排行列表
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectHighPlayerRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

	/**
	 * 推广平台优质用户榜排行列表导出
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public List<CountAnchorAndSalesRankListVO> selectHighPlayerRankList(Map<String, Object> params) throws Exception;

	/**
	 * 推广平台有效注册榜排行列表
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectValidPlayerRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

	/**
	 * 推广平台有效注册榜排行列表导出
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public List<CountAnchorAndSalesRankListVO> selectValidPlayerRankList(Map<String, Object> params) throws Exception;

	/**
	 * 推广平台三天登录榜排行列表
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectThirdDayLoginPlayerRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

	/**
	 * 推广平台三天登录榜排行列表导出
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public List<CountAnchorAndSalesRankListVO> selectThirdDayLoginPlayerRankList(Map<String, Object> params) throws Exception;

	/**
	 * 推广平台七天登录榜排行列表
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectSeventhDayLoginPlayerRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

	/**
	 * 推广平台七天登录榜排行列表导出
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public List<CountAnchorAndSalesRankListVO> selectSeventhDayLoginPlayerRankList(Map<String, Object> params) throws Exception;

	/**
	 * 主播直播排行榜（个人、排麦）
	 * 
	 * @param params
	 * @param page
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectAnchorLiveRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

	/**
	 * 主播业绩排行榜
	 * 
	 * @param params
	 * @param page
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectAnchorPerformanceRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

	/**
	 * 优质用户和有效注册
	 * 
	 * @param params
	 * @param page
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectHighPlayerAndValidRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

	/**
	 * 内容平台个人/排麦直播时长榜排行列表
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectPersonageLiveRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

	/**
	 * 内容平台个人/排麦直播时长榜排行列表导出
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public List<CountAnchorAndSalesRankListVO> selectPersonageLiveRankList(Map<String, Object> params) throws Exception;

	/**
	 * 内容平台业绩榜排行列表
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectPerformanceRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

	/**
	 * 内容平台业绩榜排行列表导出
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public List<CountAnchorAndSalesRankListVO> selectPerformanceRankList(Map<String, Object> params) throws Exception;

	/**
	 * 登录榜排行列表(包括3天和7天)
	 *
	 * @param params
	 * @return
	 * @throws Exception
	 */
	public BasePage<CountAnchorAndSalesRankListVO> selectLoginPlayerRankListByPage(Map<String, Object> params, BasePage<CountAnchorAndSalesRankListVO> page) throws Exception;

}
